The present invention relates to a musical tone generating apparatus which is suitable for use in an electronic musical instrument when simultaneously or respectively generating a plurality of musical tones.
Recently, several kinds of attempts are made to the electronic musical instruments in order that plural musical tones can be produced by plural tone colors. In order to do so, two kinds of designs are proposed and applied to a tone generator (i.e., sound source) of the electronic musical instrument. In a First type, the operation o:f the tone generator is switched over in a time division manner so as to eventually and simultaneously produce plural sounds. In a second type, plural tone generators are simultaneously activated so as to simultaneously produce plural sounds. Hereinafter, the First type is simply referred to as a time-division type, while the second type is simply referred to as a non-time-division type. Either tile time-division type or the non-time-division type of the electronic musical instrument determines the tone color by setting tone color data, specifying a certain tone color, to time tone generator.
FIG. 28 is a block diagram slowing an example of the time-division-type electronic musical instrument. In FIG. 28, a numeral 1 designates a performance information entry portion, which is configured by a keyboard providing plural keys or a sequencer unit functioning to deliver performance information in accordance with a progress of a tune to be performed, for example. The performance information entry portion 1 delivers key-on/off information, tone pitch information, tone color information and the like. For convenience' sake, these pieces of information are referred to as musical tone information, while the performance information represents key information only. A tone generator 3 produces a musical tone signal on the basis of the musical tone information which is supplied thereto by means of a channel assignment portion 2. The tone generator 3 provides plural tone-generation channels which are switched over in a time division manner. Further, the channel assignment portion 2 assigns the musical tone information, which is supplied thereto from the performance information entry portion 1, to each of the tone-generation channels. Incidentally, the tone-generation channel does not merely represent an electronic transmission path but it represents a store accompanied with peripheral circuits which is accessible to a reading station or the like.
Numerals 4-1 through 4-m (where m denotes an integer number) designate tone-color data memories each capable of storing different tone color data. The tone color data stored in each of the memories Indicates a specific one tone color. Thus, the tone color data stored in each of the memories 4-1 through 4-m is used in the corresponding tone-generation channel (hereinafter, simply referred to as a channel) in the tone generator 3 which is accessed in a time division manner.
FIG. 29 is a block diagram showing an example of the non-time-division-type electronic musical instrument which provides plural tone generators. Herein, plural tone generators TG1 through TGn (of which number is equal to "n", where n denotes an integer number) are provided. Each of the tone generators TG1 through TGn is accompanied with each of buffers BUF1 through BUFn which are provided to store the tone color data. Thus, each of channels CH1 through CHn is constructed by a combination of the tone generator and the buffer. Under the control of a tone-color-data transfer control portion 6, one of the tone-color data memories 4-1 through 4-m, which corresponds to the tone color designated by the tone color data, is selected in accordance with a channel assignment process which is carried out by the channel assignment portion 2, so that the tone color data is transferred to the buffer provided in the selected channel.
In the above-mentioned electronic musical instrument, when a key-on event is occurred, a tone-generation task for generating a musical tone designated by an operated (or depressed) key corresponding to the key-on event is assigned to one of the channels CH1 through CHn. At the same time, the tone color data corresponding to the key is transferred to the buffer provided in the channel to which the tone-generation task is assigned. Thus, the tone generator functions to create a musical tone signal in response to the tone color data stored in the buffer in the channel.
In the time-division-type instrument as shown in FIG. 28, the tone color data stored in each of the tone-color data memories 4-1 through 4-m must be transferred to each of the channels performing a time-division process at a channel switch-over timing. Therefore, an extremely high processing speed is required to do so. Actually, however, it is difficult to follow up with a change of the key-on event occurred on each of the keys. Particularly, in the case where the tone generator carries out a tone-generation process in accordance with an algorithm simulating a tone-generating operation of a non-electronic musical instrument, micro-programs are transferred to the channel as the tone color data, which results in an increase of an amount of the data to be transferred. Thus, the above-mentioned difficulty is emerged remarkably.
In the non-time-division-type instrument as shown in FIG. 29, there are provided plural tone generators which operate in a parallel manner. Therefore, once the tone color data is transferred to the buffer, a high-speed processing is not required in each of the channels. In contrast, however, every time a key-on event is occurred, it is necessary to transfer the tone color data to each of the buffers BUF1 through BUFn. Thus, if the amount of the tone color data is relatively large, as similar to the foregoing case of the time-division-type instrument shown in FIG. 28, a response ability against a key-on event to be occurred must be deteriorated. This is not practical.
In order to overcome the difficulties described above, the electronic musical instrument can be modified as shown in FIG. 30 such that each channel provides plural buffers of which number corresponds to the number of the tone colors to be used. In this instrument, all of the tone color data are transferred to each of the channels in advance. In this instrument, the tone generator TG1 can directly read out the desired tone color data from one of the buffers BUF1-1 through BUF1-m which are provided in parallel in the channel CH1, for example. Therefore, it is not necessary to transfer the tone color data from the tone-color data memory every time a key-on event is occurred. The other tone generators TG2 through TGn can operate in a similar manner of the tone generator TG1. Thus, it is possible to improve the response ability against the key-on event (hereinafter, simply referred to as a key-on response).
However, the whole capacity of the buffers provided in each channel must be set in response to the amount of all of the tone color data to be required for each channel. This cause a large increase of the memory capacity of the instrument.
In the meantime, when playing an automatic performance, plural pieces of the musical tone information are sequentially read from storage units, and a specific tone color is selectively used for simultaneously producing plural musical tones. In this case, it is necessary to efficiently assign the musical tone information, representing each of the tone colors, to the channel. In the instrument as shown in FIG. 30 which provides an increased number of the buffers for each of the channels, it is possible to simultaneously produce plural musical tones by use of the specific tone color. However, there is a drawback in that the memory capacity must be inevitably enlarged. If the number of the buffers is reduced in order to reduce the memory capacity, however, the number of the musical tones which are simultaneously produced by use of the specific tone color must be limited.